namespace FunctionalProgramming.PatternMatching.TransformingRules
{
   internal class Default<TIn, TOut> : ITransformingRule<TIn, TOut>
   {
      private readonly TOut output;

      public Default(TOut output)
      {
         this.output = output;
      }

      public bool DoesInputMatch(TIn input)
      {
         return true;
      }

      public TOut TransformInput(TIn input)
      {
         return output;
      }
   }
}